package top.xunfong.knowledge.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.xunfong.common.core.domain.dto.BatchDTO;
import top.xunfong.knowledge.entity.KnowledgeInfo;
import top.xunfong.knowledge.dto.KnowledgeInfoDTO;
import top.xunfong.knowledge.dto.KnowledgeInfoQueryDTO;
import top.xunfong.knowledge.vo.KnowledgeInfoVO;
import top.xunfong.mybatis.core.page.PageDTO;
import top.xunfong.common.core.domain.R;
import top.xunfong.common.core.domain.TableDataInfo;

public interface KnowledgeInfoService extends IService<KnowledgeInfo> {
    /**
     * 新增
     *
     * @param dto
     * @return
     */
    R<?> insertKnowledgeInfo(KnowledgeInfoDTO dto);


    /**
     * 修改
     *
     * @param dto
     * @return
     */
    R<?> updateKnowledgeInfo(KnowledgeInfoDTO dto);

    /**
     * 批量删除
     *
     * @param dto
     * @return
     */
    R<?> deleteKnowledgeInfo(BatchDTO<Long> dto);

    /**
     * 列表查询
     *
     * @param dto
     * @return
     */
    TableDataInfo<KnowledgeInfoVO> listKnowledgeInfo(KnowledgeInfoQueryDTO dto, PageDTO pageDTO);

    /**
     * 单查询
     *
     * @param id
     * @return
     */
    R<KnowledgeInfoVO> singleKnowledgeInfo(Long id);
}